package com.neu.api.service;

import com.neu.api.dto.UserDTO;
import com.neu.api.query.UserQuery;
import com.neu.api.utils.PageResult;
import com.neu.api.vo.UserVO;
import org.apache.ibatis.annotations.Param;

public interface UserService {

    PageResult<UserVO> find(UserQuery userQuery);

    /**
     * 添加用户
     * @param userDTO
     */
    void add(UserDTO userDTO);

    /**
     * 登录
     * @param loginName
     * @param password
     * @return
     */
    UserVO login(@Param("loginName")String loginName, @Param("password")String password);

    /**
     * 编辑用户
     * @param id
     * @param userDTO
     */
    void update(Long id, UserDTO userDTO);

    /**
     * 删除用户根据Id
     * @param id
     */
    void deleteById(long id);

    /**
     * 启用禁用账号
     * @param id
     * @param status
     */
    void updateStatus(long id, byte status);
}
